package others.swing.p012;

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.sql.*;

class Student extends Frame implements ActionListener {
    static String name = MainWindow.user;//调用主界面登录时的学生姓名
    MenuBar menubar;//定义菜单条
    Menu menu;//定义菜单
    MenuItem inquireItem, amendItem, exitItem;//定义菜单项
    Label lb1, lb2;//定义标签
    TextArea text;//定义文本区
    Image myImage1, myImage2;//定义一个图像

    Student() {
        super("学生操作界面");//设置窗体标题
        this.setFont(new Font("隶书", Font.BOLD, 20));//设置界面的字体
        this.setBackground(Color.pink);//设置界面背景颜色
        //初始化菜单相关控件
        menubar = new MenuBar();
        menu = new Menu("文件");
        inquireItem = new MenuItem("查询个人信息");
        amendItem = new MenuItem("修改密码");
        exitItem = new MenuItem("退出");
        lb1 = new Label("欢迎进入学生操作界面！");//初始化标签
        myImage1 = new ImageIcon("宿舍1.jpg").getImage();//要显示的图片文件
        myImage2 = new ImageIcon("宿舍2.jpg").getImage();//要显示的图片文件
        lb2 = new Label(name + "同学你的信息如下：                  ");
        text = new TextArea(5, 38); //初始化文本区

        setLayout(new FlowLayout());//设置窗体上的各控件的布局为流式布局
        //讲个控件加入界面
        menu.add(inquireItem);
        menu.add(amendItem);
        menu.add(exitItem);
        menubar.add(menu);
        setMenuBar(menubar);
        add(lb1);
        add(lb2);
        add(text);
        //为控件注册监听对象
        inquireItem.addActionListener(this);
        amendItem.addActionListener(this);
        exitItem.addActionListener(this);
        //采用匿名类实现窗体标题栏上“×”按钮的关闭功能
        addWindowListener(new WindowAdapter() {
            @Override
            public void windowClosing(WindowEvent ew) {
                dispose();   //关闭窗口并释放所占屏幕资源
            }
        });

        setBounds(100, 100, 490, 470);//设置窗体的起始坐标，以及宽度和高度
        setVisible(true);//让窗体可见
        setResizable(false);//让窗体不可修改
    }

    //插入图片
    public void paint(Graphics g) {
        g.drawImage(myImage1, 20, 280, this);//图片的位置属性
        g.drawImage(myImage2, 250, 280, this);
    }

    @Override
    public void actionPerformed(ActionEvent ea) {
        //连接数据库
        Connection con;
        Statement sql;
        ResultSet rs;
        try {
            Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        }
        try {
            con = DriverManager.getConnection("jdbc:odbc:dormitory2", "", "");
            sql = con.createStatement();
            String num, class1, sex, room, phone;
            text.setForeground(Color.blue);
            //查询个人信息
            if (ea.getSource() == inquireItem)
            {
                rs = sql.executeQuery("SELECT * FROM Room WHERE name='" + name + "'");
                while (rs.next()) {
                    num = rs.getString(1);
                    name = rs.getString(2);
                    class1 = rs.getString(3);
                    sex = rs.getString(4);
                    room = rs.getString(5);
                    phone = rs.getString(6);
                    text.append("学号：" + num + "\n");
                    text.append("姓名：" + name + "\n");
                    text.append("班级：" + class1 + "\n");
                    text.append("性别：" + sex + "\n");
                    text.append("宿舍：" + room + "\n");
                    text.append("电话：" + phone + "\n");
                }
            }
            //修改密码
            else if (ea.getSource() == amendItem) {
                Change f4 = new Change();
            }
            //退出
            else if (ea.getSource() == exitItem) {
                dispose();
            }
            con.close();
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }
}